perm filename SHIPS.SAI[SW,BGB] blob sn#062493 filedate 1973-09-17 generic text, type T, neo UTF8
00100	BEGIN	"SHIPS"
00200		REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300		REQUIRE "DPYIII[SYS,BGB]" SOURCE_FILE;
00400		REQUIRE "SAITRG[SYS,BGB]" SOURCE_FILE;
00500		DEFINE SCALE="30";
00600	PROCEDURE VECTOR (REAL L,DIR);
00700	BEGIN
00800		REAL DX,DY,W;
00900		W ←  π*DIR/64;
01000		DX ← SCALE * L * SIN(W);
01100		DY ← SCALE * L * COS(W);
01200		RVECT (DX,DY);
01300	END;
01400	PROCEDURE SHIP1;
01500	BEGIN
01600		AIVECT(0,12*SCALE);
01700		VECTOR(4,'70);	VECTOR(17,'100); VECTOR(4,'60);
01800		VECTOR(6,'0);	VECTOR(4,'160);	VECTOR(3,'140);
01900		VECTOR(4,'120);	VECTOR(6,'100);	VECTOR(4,'20);
02000		VECTOR(3,'40);	VECTOR(3,'140);	VECTOR(17,'0);
02100		VECTOR(4,'10);
02200	END;
02300	PROCEDURE SHIP2;
02400	BEGIN
02500		AIVECT(0,12*SCALE);
02600		VECTOR(4,'70);	VECTOR(19,'100);	VECTOR(3,'30);
02700		VECTOR(6,'0);	VECTOR(3,'150);	VECTOR(3,'140);
02800		VECTOR(3,'130);	VECTOR(6,'100);	VECTOR(3,'50);
02900		VECTOR(3,'40);	VECTOR(3,'140);	VECTOR(19,'0);
03000		VECTOR(4,'10);
03100	END;
03200	PROCEDURE SHIP3;
03300	BEGIN
03400		AIVECT(0,12*SCALE);
03500		VECTOR(4,'70);	VECTOR(19,'100);	VECTOR(3,'40);
03600		VECTOR(6,'0);	VECTOR(4,'152);	VECTOR(2,'140);
03700		VECTOR(4,'126);	VECTOR(6,'100);	VECTOR(6,'40);
03800		VECTOR(3,'140);	VECTOR(19,'0);	VECTOR(4,'10);
03900	END;
04000	PROCEDURE SHIP4;
04100	BEGIN
04200		AIVECT(0,12*SCALE);
04300		VECTOR(4,'70);	VECTOR(19,'100); VECTOR(4,'40);
04400		VECTOR(8,'165); VECTOR(2.5,'140); VECTOR(8,'112);
04500		VECTOR(6,'40);	VECTOR(2.5,'140);VECTOR(19,'0);
04600		VECTOR(4,'10);
04700	END;
04800	PROCEDURE SHIP5;
04900	BEGIN
05000		AIVECT(0,12*SCALE);
05100		VECTOR(4,'70);	VECTOR(19,'100); VECTOR(2,'60);
05200		VECTOR(4,'20);	VECTOR(6,'160);	VECTOR(4,'140);
05300		VECTOR(6,'120);	VECTOR(4,'60);	VECTOR(2,'20);
05400		VECTOR(4,'40);	VECTOR(3,'140);	VECTOR(19,'0);
05500		VECTOR(4,'10);
05600	END;
     

00100	PROCEDURE SHIP0;
00200	BEGIN
00300		REAL Q;
00400		Q ← SCALE/2;
00500		AIVECT(4*Q,21*Q);
00600		AVECT(-4*Q,21*Q);
00700		AVECT(-4*Q,-10*Q);
00800		AVECT(-11*Q,-10*Q);
00900		AVECT(-11*Q,-23*Q);
01000	AIVECT(-11*Q,-25*Q);DPYSST("DEATH ZONE");
01100		AIVECT(-11*Q,-23*Q);
01200		AVECT(+11*Q,-23*Q);
01300		AVECT(+11*Q,-10*Q);
01400		AVECT(  4*Q,-10*Q);
01500		AVECT(  4*Q, 21*Q);
01600	END;
01700		INTEGER ARRAY DPYBUF[1:1000];
01800		DEFINE SS(X)=
01900		"DPYSET(DPYBUF);SHIP0;AIVECT(0,12*SCALE);X;DPYOUT(1);";
02000	WHILE TRUE DO
02100	BEGIN
02200		SS(SHIP1); INCHRW;
02300		SS(SHIP2); INCHRW;
02400		SS(SHIP3); INCHRW;
02500		SS(SHIP4); INCHRW;
02600		SS(SHIP5); INCHRW;
02700	END;
02800	
02900	END	"SHIPS";